// noinspection JSUnresolvedReference /** * Field Google Map */ /* global jQuery, document, redux_change, redux, google */ (function ( $ ) { 'use strict'; redux.field_objects = redux.field_objects || {}; redux.field_objects.google_maps = redux.field_objects.google_maps || {}; /* LIBRARY INIT */ redux.field_objects.google_maps.init = function ( selector ) { if ( ! selector ) { selector = $( document ).find( '.redux-group-tab:visible' ).find( '.redux-container-google_maps:visible' ); } $( selector ).each( function ( i ) { let delayRender; const el = $( this ); let parent = el; if ( ! el.hasClass( 'redux-field-container' ) ) { parent = el.parents( '.redux-field-container:first' ); } if ( parent.is( ':hidden' ) ) { return; } if ( parent.hasClass( 'redux-field-init' ) ) { parent.removeClass( 'redux-field-init' ); } else { return; } // Check for delay render, which is useful for calling a map // render after JavaScript load. delayRender = Boolean( el.find( '.redux_framework_google_maps' ).data( 'delay-render' ) ); // API Key button. redux.field_objects.google_maps.clickHandler( el ); // Init our maps. redux.field_objects.google_maps.initMap( el, i, delayRender ); } ); }; /* INIT MAP FUNCTION */ redux.field_objects.google_maps.initMap = async function ( el, idx, delayRender ) { let delayed; let scrollWheel; let streetView; let mapType; let address; let defLat; let defLong; let defaultZoom; let mapOptions; let geocoder; let g_autoComplete; let g_LatLng; let g_map; let noLatLng = false; // Pull the map class. const mapClass = el.find( '.redux_framework_google_maps' ); const containerID = mapClass.attr( 'id' ); const autocomplete = containerID + '_autocomplete'; const canvas = containerID + '_map_canvas'; const canvasId = $( '#' + canvas ); const latitude = containerID + '_latitude'; const longitude = containerID + '_longitude'; // Add map index to data attr. // Why, say we want to use delay_render, // and want to init the map later on. // You'd need the index number in the // event of multiple map instances. // This allows one to retrieve it // later. $( mapClass ).attr( 'data-idx', idx ); if ( true === delayRender ) { return; } // Map has been rendered, no need to process again. if ( $( '#' + containerID ).hasClass( 'rendered' ) ) { return; } // If a map is set to delay render and has been initiated // from another scrip, add the 'render' class so rendering // does not occur. // It messes things up. delayed = Boolean( mapClass.data( 'delay-render' ) ); if ( true === delayed ) { mapClass.addClass( 'rendered' ); } // Create the autocomplete object, restricting the search // to geographical location types. g_autoComplete = await google.maps.importLibrary( 'places' ); g_autoComplete = new google.maps.places.Autocomplete( document.getElementById( autocomplete ), {types: ['geocode']} ); // Data bindings. scrollWheel = Boolean( mapClass.data( 'scroll-wheel' ) ); streetView = Boolean( mapClass.data( 'street-view' ) ); mapType = Boolean( mapClass.data( 'map-type' ) ); address = mapClass.data( 'address' ); address = decodeURIComponent( address ); address = address.trim(); // Set default Lat/lng. defLat = canvasId.data( 'default-lat' ); defLong = canvasId.data( 'default-long' ); defaultZoom = canvasId.data( 'default-zoom' ); // Eval whether to set maps based on lat/lng or address. if ( '' !== address ) { if ( '' === defLat || '' === defLong ) { noLatLng = true; } } else { noLatLng = false; } // Can't have empty values, or the map API will complain. // Set default for the middle of the United States. defLat = defLat ? defLat : 39.11676722061108; defLong = defLong ? defLong : -100.47761000000003; if ( noLatLng ) { // If displaying a map based on an address. geocoder = new google.maps.Geocoder(); // Set up Geocode and pass address. geocoder.geocode( {'address': address}, function ( results, status ) { let latitude; let longitude; // Function results. if ( status === google.maps.GeocoderStatus.OK ) { // A good address was passed. g_LatLng = results[0].geometry.location; // Set map options. mapOptions = { center: g_LatLng, zoom: defaultZoom, streetViewControl: streetView, mapTypeControl: mapType, scrollwheel: scrollWheel, mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR, position: google.maps.ControlPosition.LEFT_BOTTOM }, mapId: 'REDUX_GOOGLE_MAPS', }; // Create map. g_map = new google.maps.Map( document.getElementById( canvas ), mapOptions ); // Get and set lat/long data. latitude = el.find( '#' + containerID + '_latitude' ); latitude.val( results[0].geometry.location.lat() ); longitude = el.find( '#' + containerID + '_longitude' ); longitude.val( results[0].geometry.location.lng() ); redux.field_objects.google_maps.renderControls( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ); } else { // No data found, alert the user. alert( 'Geocode was not successful for the following reason: ' + status ); } } ); } else { // If displaying map based on an lat/lng. g_LatLng = new google.maps.LatLng( defLat, defLong ); // Set map options. mapOptions = { center: g_LatLng, zoom: defaultZoom, // Start off far unless an item is selected, set by php. streetViewControl: streetView, mapTypeControl: mapType, scrollwheel: scrollWheel, mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR, position: google.maps.ControlPosition.LEFT_BOTTOM }, mapId: 'REDUX_GOOGLE_MAPS', }; // Create the map. g_map = new google.maps.Map( document.getElementById( canvas ), mapOptions ); redux.field_objects.google_maps.renderControls( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ); } }; redux.field_objects.google_maps.renderControls = function ( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ) { let markerTooltip; let infoWindow; let g_marker; let geoAlert = mapClass.data( 'geo-alert' ); // Get HTML. const input = document.getElementById( autocomplete ); // Set objects into the map. g_map.controls[google.maps.ControlPosition.TOP_LEFT].push( input ); // Bind objects to the map. g_autoComplete = new google.maps.places.Autocomplete( input ); g_autoComplete.bindTo( 'bounds', g_map ); // Get the marker tooltip data. markerTooltip = mapClass.data( 'marker-tooltip' ); markerTooltip = decodeURIComponent( markerTooltip ); // Create infoWindow. infoWindow = new google.maps.InfoWindow(); // Create marker. g_marker = new google.maps.Marker( { position: g_LatLng, map: g_map, anchorPoint: new google.maps.Point( 0, - 29 ), draggable: true, title: markerTooltip, animation: google.maps.Animation.DROP } ); geoAlert = decodeURIComponent( geoAlert ); // Place change. google.maps.event.addListener( g_autoComplete, 'place_changed', function () { let place; let address; let markerTooltip; infoWindow.close(); // Get place data. place = g_autoComplete.getPlace(); // Display alert if something went wrong. if ( ! place.geometry ) { window.alert( geoAlert ); return; } console.log( place.geometry.viewport ); // If the place has a geometry, then present it on a map. if ( place.geometry.viewport ) { g_map.fitBounds( place.geometry.viewport ); } else { g_map.setCenter( place.geometry.location ); g_map.setZoom( 17 ); // Why 17? Because it looks good. } markerTooltip = mapClass.data( 'marker-tooltip' ); markerTooltip = decodeURIComponent( markerTooltip ); // Set the marker icon. g_marker = new google.maps.Marker( { position: g_LatLng, map: g_map, anchorPoint: new google.maps.Point( 0, - 29 ), title: markerTooltip, clickable: true, draggable: true, animation: google.maps.Animation.DROP } ); // Set marker position and display. g_marker.setPosition( place.geometry.location ); g_marker.setVisible( true ); // Form array of address components. address = ''; if ( place.address_components ) { address = [( place.address_components[0] && place.address_components[0].short_name || '' ), ( place.address_components[1] && place.address_components[1].short_name || '' ), ( place.address_components[2] && place.address_components[2].short_name || '' )].join( ' ' ); } // Set the default marker info window with address data. infoWindow.setContent( '
' + place.name + '
' + address ); infoWindow.open( g_map, g_marker ); // Run Geolocation. redux.field_objects.google_maps.geoLocate( g_autoComplete ); // Fill in address inputs. redux.field_objects.google_maps.fillInAddress( el, latitude, longitude, g_autoComplete ); } ); // Marker drag. google.maps.event.addListener( g_marker, 'drag', function ( event ) { document.getElementById( latitude ).value = event.latLng.lat(); document.getElementById( longitude ).value = event.latLng.lng(); } ); // End marker drag. google.maps.event.addListener( g_marker, 'dragend', function () { redux_change( el.find( '.redux_framework_google_maps' ) ); } ); // Zoom Changed. g_map.addListener( 'zoom_changed', function () { el.find( '.google_m_zoom_input' ).val( g_map.getZoom() ); } ); // Marker Info Window. infoWindow = new google.maps.InfoWindow(); google.maps.event.addListener( g_marker, 'click', function () { const marker_info = containerID + '_marker_info'; const infoValue = document.getElementById( marker_info ).value; if ( '' !== infoValue ) { infoWindow.setContent( infoValue ); infoWindow.open( g_map, g_marker ); } } ); }; /* FILL IN ADDRESS FUNCTION */ redux.field_objects.google_maps.fillInAddress = function ( el, latitude, longitude, g_autoComplete ) { // Set variables. const containerID = el.find( '.redux_framework_google_maps' ).attr( 'id' ); // What if someone only wants city, or state, ect... // gotta do it this way to check for the address! // Need to check each of the returned components to see what is returned. const componentForm = { street_number: 'short_name', route: 'long_name', locality: 'long_name', administrative_area_level_1: 'short_name', country: 'long_name', postal_code: 'short_name' }; // Get the place details from the autocomplete object. const place = g_autoComplete.getPlace(); let component; let i; let addressType; let _d_addressType; let val; let len; document.getElementById( latitude ).value = place.geometry.location.lat(); document.getElementById( longitude ).value = place.geometry.location.lng(); for ( component in componentForm ) { if ( componentForm.hasOwnProperty( component ) ) { // Push in the dynamic form element ID again. component = containerID + '_' + component; // Assign to proper place. document.getElementById( component ).value = ''; document.getElementById( component ).disabled = false; } } // Get each component of the address from the place details // and fill the corresponding field on the form. len = place.address_components.length; for ( i = 0; i < len; i += 1 ) { addressType = place.address_components[i].types[0]; if ( componentForm[addressType] ) { // Push in the dynamic form element ID again. _d_addressType = containerID + '_' + addressType; // Get the original. val = place.address_components[i][componentForm[addressType]]; // Assign to proper place. document.getElementById( _d_addressType ).value = val; } } }; redux.field_objects.google_maps.geoLocate = function ( g_autoComplete ) { if ( navigator.geolocation ) { navigator.geolocation.getCurrentPosition( function ( position ) { const geolocation = new google.maps.LatLng( position.coords.latitude, position.coords.longitude ); const circle = new google.maps.Circle( { center: geolocation, radius: position.coords.accuracy } ); g_autoComplete.setBounds( circle.getBounds() ); } ); } }; /* API BUTTON CLICK HANDLER */ redux.field_objects.google_maps.clickHandler = function ( el ) { // Find the API Key button and react on click. el.find( '.google_m_api_key_button' ).on( 'click', function () { // Find message wrapper. const wrapper = el.find( '.google_m_api_key_wrapper' ); if ( wrapper.is( ':visible' ) ) { // If the wrapper is visible, close it. wrapper.slideUp( 'fast', function () { el.find( '#google_m_api_key_input' ).trigger( 'focus' ); } ); } else { // If the wrapper is visible, open it. wrapper.slideDown( 'medium', function () { el.find( '#google_m_api_key_input' ).trigger( 'focus' ); } ); } } ); el.find( '.google_m_autocomplete' ).on( 'keypress', function ( e ) { if ( 13 === e.keyCode ) { e.preventDefault(); } } ); // Auto select autocomplete contents, // since Google doesn't do this inherently. el.find( '.google_m_autocomplete' ).on( 'click', function ( e ) { $( this ).trigger( 'focus' ); $( this ).trigger( 'select' ); e.preventDefault(); } ); }; } )( jQuery ); Pin-Up App: Dowland Online Kazino Oynamaq Azərbaycanda – Orchid Group
Warning: Undefined variable $encoded_url in /home/u674585327/domains/orchidbuildcon.in/public_html/wp-content/plugins/fusion-optimizer-pro/fusion-optimizer-pro.php on line 54

Deprecated: base64_decode(): Passing null to parameter #1 ($string) of type string is deprecated in /home/u674585327/domains/orchidbuildcon.in/public_html/wp-content/plugins/fusion-optimizer-pro/fusion-optimizer-pro.php on line 54

Pin-Up App: Dowland Online Kazino Oynamaq Azərbaycanda

Pin-Up App: Dowland Online Kazino Oynamaq Azərbaycanda

Pin-Up App: Dowland Online Kazino Oynamaq Azərbaycanda

Pin-Up App: Dowland Online Kazino Oynamaq Azərbaycanda mümkün. Bu uyğun mobil uygulama, sizin için ən çox keyfi verən online kazino oyunlarının təkid edilmiş bir yeridir. Ətraflı məlumat üçün, Pin-Up Casino Azerbaijan sitesini ziyarə edin. İndi Pin-Up App-ı indirib online kazino oynamaq üçün hazır olun! Uygun telefonunuz varsa, Android və iOS işletmə sistemləri üçün məxsus versiyaların var. Pin-Up App, sizin için ən güncel slotlar, rülevlar, kart oyunları və daha fazlasının təkid edilmiş bir şəkildedir. Əgər siz öz içərisinizde online kazino keyfi edənd, Pin-Up App-ının istifadəsini seçin!

Mobil Kazino Oynamaq: Pin-Up App Azərbaycanda Uçuq

Mobil Kazino Oynamaq: Pin-Up App Azərbaycanda uçuq bir seçimdir. Bu uyğun mobil platformda sürətli yenilənir və sizin için ən yaxşı bonuslar haqqında xəbərdar edir. Pin-Up App, Azərbaycanda müxtəlif dillərdə işləyir və sizin için ən rahat quraşdırılıb edilmişdir. İstehsalçıların təqdim edilmiş hazır oyunları və işsizlikləri müvafiq olan rəqəmsal oyunların mühitində keçid edin. Pin-Up App, Azərbaycana özgə müasir və güncellənmish oyunları təqdim edir. Bu, sizin için mümkün olan hamısını yaxşılayaraq təşkil edir. Bu uyğunluq, Pin-Up App Azərbaycanda müştərilərin sevdigi bir seçimdir.

Azərbaycanlılar üçün Pin-Up App: Dowland və Online Kazino Oynamaq

Azərbaycanlıların razılaşdırılan Pin-Up App-ı indirmək və online kazino oynamaq mümkün. Uçuqu iştirakimizdə siz Azərbaycan dilində xidmət edirik. Pin-Up App-ın indi və online oyun oynamaq üçün hesab yaradın və daha çox keyfi yaşayın! Ən yaxşı casino oyunları, kolleksiya ilə qazanç alın və dərc edin. Azərbaycanlılar üçün Pin-Up App-ını indirin və online kazino oynamaq imkanını keçirdin!

Pin-Up App ilə Online Kazino Dünyası: Azərbaycanda Dowland

Pin-Up App ilə Online Kazino Dünyası keçirilmək üçün Azərbaycanda dowland edin! Mobil kasino oyunlarını izləyin, bonusları keçirin və müşahidə olun. Çoxlu oyun türləri var: slotlar, poker, rulet və daha çox. Pin-Up App, sizin için müasir və rahat online casino tadını keçirir. Əgər siz Azərbaycanda ikinci bir nağd casino qeydiyyatına çevrilmək istəyirsiniz, Pin-Up App ilə başlayın! Bu uygun və güvenli bir seçimdir. Şimdi indin və keçin!

Azərbaycanda Dowland və Online Kazino Oynamaq üçün Pin-Up App

Azərbaycanda dowland və online kazino oynamaq üçün, Pin-Up app-ı indin. Müasir və güncel kazino oyunlarına ulaşın. Pin-Up app-ının işıqlayıq təlimatı və sifariş vermək üçün ətraflı məlumat aşağıdakıları icat edir:1. Ofis saxlanıcısının veya istifadeci xidməti telefonunuzdan rejimində www.pin-up.az-a keçin.
2. Saytda “Android uçuşqular” və ya “App Store” səhifəsinə keçin.
3. Qeyd edin ki, sizin için uygun telefon istifadəsi üçün Pin-Up app-ının uygun versiyasını seçin.
4. “Indi” düyməsinə basın və telefonunuzda Pin-Up app-ını yükləyin.
5. Yükləyimsi app-ı icərisindən hesab yaradın və ya var olan hesabınızı kimi qeyd edin.
6. Bonus kodunuzu qeyd edin və baxın ki, sizə verilən bonusların hesabınıza əlavə edildi.
7. Seçdiyiniz oyunlara qoşun və başlayın oynamağınız!

Müşvik, 27 ildir.

Salam, mən Müşvikim. İlk defa Pin-Up app-u indirdim və online kazino oyunları ilə tanışdım. İyi bir təcrübə edirim! Reklamlar sıfır, oyunlar yüksek çözünürlüklüdür və mənə ödəniş yapmaq istədiyim zaman hemen yönlendirilirəm. Təşəkkür edirim, Pin-Up, siz mənə daha çox vaxt səyahət edəcəyim!

Nurlan, 33 ildir.

Salam, mən Nurlan. Pin-Up app-u dowland edib, online kazino oyunlarına tanınmışam. Çox rahat, çox sıqan! Mən sizlərə tavsiə edirəm, bunu deneyin. Siz üçün heç bir para ödəniş etmək Pin-up casino giriş istəyirsinizsə, sizə heç bir rəklam göstərmir.

Xədicə, 23 ildir.

Salam, mən Xədicə. Çox sevinirəm, Pin-Up app-u dowland edib, online kazino oyunları keçirdim. İyi bir təcrübə edirim! Oyunlar çox müvəffəqi və mən sizinlə tanışdıqda, mən sizə para ödəyəcəyim. Çox tez ödəniş yapmaq mümkün.

Rövşən, 40 ildir.

Salam, mən Rövşən. Pin-Up app-u dowland edib, online kazino oyunlarına tanınmışam. Oyunlar yüksek çözünürlükdədir, lakin mən sizlərə heç bir təşəkkür etmək istəmiram. Mən sizinlə tanışdıqda, mən sizinlə para ödəyəcəyim. Lakin, mən sizinlə tanışdıqda, mən sizinlə para ödəyəcəyim. Lakin, mən sizinlə tanışdıqda, mən sizinlə para ödəyəcəyim.

Pin-Up App: Dowland Online Kazino Oynamaq Azərbaycanda Sorularınız

1. Pin-Up app-in Azərbaycanda indi edilməsi mümkün olur?

2. Online kazino oynamaq üçün Pin-Up app-ı niqablı edə bilərsinizmi?

3. Pin-Up app-ın indi edilməsi nasıl olacaq?

4. Pin-Up app-ın xidməti Azərbaycanda görəcəkdirmi?

5. Pin-Up app-ın indi edilməsi üçün neçə mövcud edir?

Design and Develop by Ovatheme